<script>
// 自作スクリプトここから
var isThroughNow = false; // 壁抜けフラグ

document.onkeydown = function(event){
    if (!event) { event = window.event; };

    var shift = event.shiftKey;
    var ctrl = event.ctrlKey;
    var alt = event.altKey;
    var keyCode = event.keyCode;

    var actorId = 1; // 主人公
    var nowVal;

    if(alt && keyCode == 73){ // Alt+I
        var inputMapId = window.prompt("ここに移動先のマップIDを入力してください");
        var inputMapX = window.prompt("ここに移動先のX座標を入力してください", 1);
        var inputMapY = window.prompt("ここに移動先のY座標を入力してください", 1);

        var mapId = inputMapId;
        var mapX = parseInt(inputMapX, 10);
        var mapY = parseInt(inputMapY, 10);
        var playerDirection = 0; // 0:そのまま, 2:下, 4:左, 6:右, 8:上
        var fadeInId = 2; // 0:黒フェード, 1:白フェード, 2:なし

        $gamePlayer.reserveTransfer(mapId, mapX, mapY, playerDirection, fadeInId);

        alert('mapId:' + mapId + ' に移動します');
        //alert('デバッグモード起動中は、AltまたはCtrlキーを押しながら移動で壁抜けできます。移動不可能になったらお試しください');

        $gamePlayer.setThrough(true);
        alert('壁抜けを許可しました。終了するには「Alt+M」キーを押してください');
        isThroughNow = true;
    }

    if(alt && keyCode == 74){ // Alt+J
        SceneManager.push(Scene_Save);

        alert('セーブ画面を開きます');
    }

    if(alt && keyCode == 75){ // Alt+K
        var inputEventId = window.prompt("ここに再生したいコモンイベントIDを入力してください");

        $gameTemp.reserveCommonEvent(inputEventId);

        alert('コモンイベント:' + inputEventId + 'を再生します');
    }

    if(alt && keyCode == 76){ // Alt+L
        SceneManager.push(Scene_Debug);

        alert('デバッグ画面を開きます');
    }

    if(alt && keyCode == 77){ // Alt+M
        if(isThroughNow === true){
            alert('壁抜けを終了します。再開するには「Alt+M」キーを押してください');
            $gamePlayer.setThrough(false);
            isThroughNow = false;
        }
        else {
            alert('壁抜けを許可します。終了するには「Alt+M」キーを押してください');
            $gamePlayer.setThrough(true);
            isThroughNow = true;
        }
    }

    if(alt && keyCode == 78){ // Alt+N
        if($gameMap.isEventRunning()){
            alert('イベントを強制終了します。');

            $gameMap.events().forEach(function(event) {
                if (event.eventId() != this._eventId){
                    event.erase();
                }
            }, this);

            $gameMap._interpreter._index = $gameMap._interpreter._list.length;

            $gamePlayer.setTransparent(false); // show player to map
        }
        else {
            alert('現在実行中のイベントはありません');
        }
    }

    if(alt && keyCode == 79){ // Alt+O
        alert('立ち絵・黒背景を全消去します');
        $gameScreen.clearPictures();
    }
};
// 自作スクリプトここまで
</script>